<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <script>
      var doc = new Proxy({}, {
          "get": function (oTarget, sKey) {
              console.log('get')

          },
          "set": function (oTarget, sKey, vValue) {
              console.log('set')


          },
          "deleteProperty": function (oTarget, sKey) {

              console.log('deleteProperty')

          },
          "enumerate": function (oTarget, sKey) {
              console.log('enumerate')

          },
          "ownKeys": function (oTarget, sKey) {
              console.log('ownKeys')

          },
          "has": function (oTarget, sKey) {
              console.log('has')
              console.log(oTarget)
              console.log(sKey)
              return oTarget[sKey]
          },
          "defineProperty": function (oTarget, sKey, oDesc) {
              console.log('defineProperty')
          },
          "getOwnPropertyDescriptor": function (oTarget, sKey) {
              console.log('getOwnPropertyDescriptor')
          },
      });
      doc.a=10;
      console.log(doc.a)
     console.log('a' in doc)



  </script>
</body>
</html>